/**
 *
 */
package com.naiterui.ehp.bs.recommend.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;

import io.swagger.annotations.ApiModelProperty;

/**
 * 推荐消息返回VO
 * @author guoyongxiang
 * @since 2.9.0
 */
public class RecomResultVO {

    /** 会话ID */
    @ApiModelProperty(value = "会话ID")
    private String sessionId;

    /** 消息ID */
    @ApiModelProperty(value = "消息ID")
    private String messageId;

    @ApiModelProperty(value = "发送时间(毫秒)")
    private Long sendTime;

    @ApiModelProperty(value = "会话开启时间(毫秒)")
    private Long beginTime;

    /** 推荐状态 0:默认(不需要审核), 1:审核中, 2:审核通过, 3:审核不通过 */
    @ApiModelProperty(value = "推荐状态 0:默认(不需要审核), 1:审核中, 2:审核通过, 3:审核不通过", allowableValues = "0,1,2,3")
    private Integer checkingStatus;

    @ApiModelProperty(value = "是否经过开启新会话")
    @JsonInclude(Include.NON_NULL)
    private Boolean newSessionFlag;

    @ApiModelProperty(value = "是否是付费会话，0:免费，1付费")
    @JsonInclude(Include.NON_NULL)
    private Integer consultPayType;

    @ApiModelProperty(value = "会话发起类型，0-普通免费会话，1-患者发起普通付费咨询，2-线上诊室找医生会话 ")
    @JsonInclude(Include.NON_NULL)
    private Integer consultSourceType;

    public RecomResultVO() {
        super();
    }

    public RecomResultVO(String sessionId, String messageId, Long sendTime, Long beginTime, Integer checkingStatus, Boolean newSessionFlag,
                         Integer consultPayType, Integer consultSourceType) {
        super();
        this.sessionId = sessionId;
        this.messageId = messageId;
        this.sendTime = sendTime;
        this.beginTime = beginTime;
        this.checkingStatus = checkingStatus;
        this.newSessionFlag = newSessionFlag;
        this.consultPayType = consultPayType;
        this.consultSourceType = consultSourceType;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public Long getSendTime() {
        return sendTime;
    }

    public void setSendTime(Long sendTime) {
        this.sendTime = sendTime;
    }

    public Long getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Long beginTime) {
        this.beginTime = beginTime;
    }

    public Integer getCheckingStatus() {
        return checkingStatus;
    }

    public void setCheckingStatus(Integer checkingStatus) {
        this.checkingStatus = checkingStatus;
    }

    public Boolean getNewSessionFlag() {
        return newSessionFlag;
    }

    public void setNewSessionFlag(Boolean newSessionFlag) {
        this.newSessionFlag = newSessionFlag;
    }

    public Integer getConsultPayType() {
        return consultPayType;
    }

    public void setConsultPayType(Integer consultPayType) {
        this.consultPayType = consultPayType;
    }

    public Integer getConsultSourceType() {
        return consultSourceType;
    }

    public void setConsultSourceType(Integer consultSourceType) {
        this.consultSourceType = consultSourceType;
    }

}
